home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / gfx / edit / AmiCAD_2.06.lha / AmiCAD / ARexx / MapKey.AmiCAD < prev    next >
Text File  |  1999-11-21  |  1KB  |  48 lines

  1. /* MapKey
  2. Programmation d'une séquence de touches
  3. Version 1.00 (25 septembre 1999)
  4. $VER: MapKey.AmiCAD 1.00 (® R.Florac, 25 septembre 1999) */
  5.  
  6. options results     /* indispensable pour récupérer le résultat des macros */
  7.  
  8. signal on error     /* pour l'interception des erreurs */
  9. signal on syntax
  10.  
  11. 'VERSION(0)'
  12. if result < 2.03 then do
  13.     'MESSAGE("Ce script nécessite"+CHR(10)+"AmiCAD version 2.03"+CHR(10)+"ou plus")'
  14.     exit
  15. end
  16.  
  17. keys=getclip(key_sequence)
  18. if key~="" then keys=doublage_guillemets(keys)
  19. 'INIT(KEY_SEQ,KEY_MACRO):KEY_SEQ=ASKTEXT("Séquence de touches"+CHR(10)+"à programmer ?","'keys'")'
  20. key=result
  21. if key~="" then do
  22.     setclip(key_sequence,key)
  23.     'KEY_MACRO=ASKTEXT("Macro associée à "+KEY_SEQ,READMAP(KEY_SEQ))'
  24.     if result~="" then 'MAP(KEY_SEQ,KEY_MACRO)'
  25. end
  26.  
  27. exit
  28.  
  29. doublage_guillemets: procedure
  30.     parse arg chaine
  31.     t=''
  32.     do i=1 to length(chaine)
  33.     c = substr(chaine,i,1)
  34.     if c='"' then c=c||'"'
  35.     t=t||c
  36.     end
  37.     return t
  38.  
  39. /* Traitement des erreurs, interruption du programme */
  40. syntax:
  41. erreur=RC
  42. 'MESSAGE("Script MapKey.AmiCAD"+CHR(10)+"Erreur de syntaxe"+CHR(10)+"en ligne 'SIGL'"+CHR(10)+"'errortext(erreur)'")'
  43. exit
  44.  
  45. error:
  46. 'MESSAGE("Script MapKey.AmiCAD"+CHR(10)+"Erreur en ligne 'SIGL'")'
  47. exit
  48.